﻿// -----------------------------------------------------------------------
// <copyright file="RitualFormModel.cs" company="Storytelling">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace Storytelling.Modelos.VTR
{
    using System.ComponentModel.DataAnnotations;
    using Storytelling.Entidades.VTR;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class RitualFormModel : InativoFormModel<Ritual>
    {
        private string disciplina;

        [Required]
        [Display(Name = "Descrição")]
        [StringLength(1000, MinimumLength = 5)]
        public virtual string Descricao
        {
            get { return Entidade.Descricao; }
            set { Entidade.Descricao = value; }
        }

        [Required]
        [Range(1, 10, ErrorMessage = "O Nível deve ser de 1 a 9")]
        [Display(Name = "Nível")]
        public virtual int Nivel
        {
            get { return Entidade.Nivel.HasValue ? Entidade.Nivel.Value : 0; }
            set { Entidade.Nivel = value; }
        }

        public virtual string Disciplina
        {
            get
            {
                if (Entidade.Disciplina != null && !string.IsNullOrEmpty(Entidade.Disciplina.Nome))
                {
                    disciplina = Entidade.Disciplina.Nome;
                }
                else if (disciplina == null)
                {
                    disciplina = "";
                }
                return disciplina;
            }
            set { disciplina = value; }
        }

        [Required]
        [Display(Name = "Disciplina")]
        public virtual long DisciplinaValor
        {
            get { return Entidade.DisciplinaId.HasValue ? Entidade.DisciplinaId.Value : 0; }
            set { Entidade.DisciplinaId = value; }
        }
    }
}
